﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Kitware.VTK;

namespace HAVTKPack
{
    public abstract class GeometryFilter:Filter
    {


        public GeometryFilter(string id)
            : base(id)

        {
           
 
        }

        #region  字段属性


        GeometryNode _parentNode;
        /// <summary>
        /// 父节点
        /// </summary>
        public GeometryNode ParentNode
        {
            get { return _parentNode; }
            set { _parentNode = value; }
        }





        //private vtkTransform _filterTransform;
        ///// <summary>
        ///// 记录对整个数据集进行平移，旋转，缩放等的操作。
        /////使用时注意：生成原数据集的时候已经加过transform，filter中单独使用时，要注意两者的叠加效果。。。。
        ///// </summary>
        //public vtkTransform FilterTransform
        //{
        //    get { return _filterTransform; }
        //    set { _filterTransform = value; }
        //}
       



        vtkUnstructuredGrid _inputUnStructuredGridData;
        /// <summary>
        /// 输入的不规则网格数据
        /// </summary>
        public vtkUnstructuredGrid InputUnStructuredGridData
        {
            get { return _inputUnStructuredGridData; }
            set { _inputUnStructuredGridData = value; }
        }

        vtkUnstructuredGrid _outputUnStructuredGridData;
        /// <summary>
        /// 输出的不规则网格数据
        /// </summary>
        public vtkUnstructuredGrid OutputUnStructuredGridData
        {
            get { return _outputUnStructuredGridData; }
            set { _outputUnStructuredGridData = value; }
        }

        vtkPolyData _inputPolyData;
        /// <summary>
        /// 输入PolyData
        /// </summary>
        public vtkPolyData InputPolyData
        {
            get { return _inputPolyData; }
            set { _inputPolyData = value; }
        }

        vtkPolyData _outputPolyData;
        /// <summary>
        /// 该Filter输出的PolyData
        /// </summary>
        public vtkPolyData OutputPolyData
        {
            get { return _outputPolyData; }
            set { _outputPolyData = value; }
        }

        #endregion

      

        #region 属性的修改方法

        //protected override void OnSetVisibility()
        //{

        //}

        //protected virtual void OnSetRepresentationType()
        //{


        //}

        #endregion




    }
}
